package com.charging.business.jin;

import lombok.Data;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * @author JerryLu
 * @date 2024/11/26 15:25
 * @description 山西车辆特情在线计费响应接口
 */
@Data
@Component
public class JinOnlineResponse {
    /**
     * 特情计费结果
     * 1-特情计费成功
     * 2-入口站有误-路径不可达
     * 3-路径信息不可拟合 -请使用其他拟合方式
     * 4-拟合超时-请使用其他拟合方式
     * 5-非跨省通行
     */
    public Integer calculateResult;

    /**
     * 通行标识ID
     */
    public String passId;

    /**
     * 通行介质类型
     * 1-OBU
     * 2-CPC卡
     * 3-纸券
     * 9-无通行介质
     */
    public Integer mediaType;

    /**
     * 介质编码
     */
    public String mediaNo;

    /**
     * 入口收费站编号
     */
    public String enStationId;

    /**
     * 21位入口车道编号
     */
    public String enTollLaneId;

    /**
     * 入口收费站名称
     */
    public String enTollStationName;

    /**
     * 入口车道hex
     */
    public String enTollLaneHex;

    /**
     * 入口交易时间
     */
    public String enTime;

    /**
     * 总应收金额
     * 单位： 分。 各省应收总金额累计。
     * payFee=splitAmount + discountFee
     */
    public Integer payFee;

    /**
     * 总实收金额
     * 单位：分。实收总金额累计
     */
    public Integer fee;

    /**
     * 总优惠金额
     * 单位：分。优惠总金额累计。
     * discountFee=payFee-splitAmoun
     */
    public Integer discountFee;

    /**
     * 总里程，里程总数累计
     */
    public Integer feeMileage;

    /**
     * 总拆分金额
     * 单位： 分。各省拆分总金额累计， 用于现场收费。
     * splitAmount=payFee-discountFe
     */
    public Integer splitAmount;

    /**
     * 车牌号码+颜色
     */
    public String vehicleId;

    /**
     * 收费车型
     */
    public Integer vehicleType;

    /**
     * 掉头行驶前最后一个门架HEX, 只有在响应码=20001时有值
     */
    public String turnLastGantryHEX;

    /**
     * 分省信息
     */
    public List<ProvinceFees> provinceFees = new ArrayList<>();

    /**
     * 入口信息
     */
    public List<EnStations> enStationsResP = new ArrayList<>();
}
